#pragma once

#ifndef _Mouse_h_
#define _Mouse_h_

#include "ButtonState.h"

namespace Framework {

class Mouse {
public:
    ~Mouse(void);
    ButtonState GetLeftButton() const;
    ButtonState GetMiddleButton() const;
    ButtonState GetRightButton() const;
    long GetX() const;
    long GetY() const;
    static Mouse* GetInstance();
    static void Update(RAWMOUSE raw);
private:
    ButtonState leftButton;
    ButtonState middleButton;
    ButtonState rightButton;
    long x;
    long y;
    static Mouse* mouse;
    Mouse(void);
};

}

#endif
